package javase.Reflect;

import java.io.FileNotFoundException;
import java.io.FileReader;

/*
关于路径的问题
 */
public class AboutPath {
    public static void main(String[] args) throws FileNotFoundException {
        // 移植性差，离开了IDEA，  可能就不是project的根而无效
        //FileReader reader = new FileReader("classinfo.properties");

        // 通用方式（文件必须在类路径下）  类路径：src是类的根路径
        /*
        Thread.currentThread() 当前线程对象
        getContextClassLoader() 是线程对象的方法，可以获取到当前线程的类加载器对象
        getResource("") 这是类加载器的方法，当前线程的类加载器默认从类的根目录下加载资源
         */
        String str = Thread.currentThread().getContextClassLoader()
                .getResource("classinfo2.properties").getPath();
        // /D:/New/out/production/New/classinfo2.properties
        // 获取文件的绝对路径
        System.out.println(str);

        // linux macos 也适用   是通用的

        //
        String str2 = Thread.currentThread().getContextClassLoader()
                .getResource("javase/bean/db.properties").getPath();
        System.out.println(str2);
    }
}
